module.exports = (sequelize, DataTypes) => {
    return sequelize.define('Banner', {
        id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
        title: DataTypes.STRING,
        imageUrl: {
            type: DataTypes.TEXT('long'),
            allowNull: false,
            comment: 'Base64 格式的图片数据',
        },
        linkUrl: DataTypes.STRING,
        position: { type: DataTypes.STRING, defaultValue: 'home' },
        sortOrder: { type: DataTypes.INTEGER, defaultValue: 0 },
        isActive: { type: DataTypes.BOOLEAN, defaultValue: true },
        startTime: DataTypes.DATE,
        endTime: DataTypes.DATE,
        clickCount: { type: DataTypes.INTEGER, defaultValue: 0 },
        remark: DataTypes.STRING,
        status: { type: DataTypes.INTEGER, defaultValue: 1 }, // 0 正常, 1 假删除
    }, {
        tableName: 'banners',
        timestamps: true, // 自动维护 createdAt、updatedAt 字段
        paranoid: true,   // 启用 deletedAt 软删除
        deletedAt: 'deletedAt', // 软删除字段重命名
        underscored: true, // 开启下划线命名风格
        charset: 'utf8mb4', // 指定字符集
        collate: 'utf8mb4_general_ci', // 使用 utf8mb4 字符集的排序规则
        deletedAt: 'deletedAt',
    });
};
// | 字段名        | 类型      | 说明                      | 备注           |
// | ---------- | ------- | ----------------------- | ------------ |
// | id         | INTEGER | 主键，自增                   |              |
// | title      | STRING  | 标题                      | 可用于后台管理、标识用途 |
// | imageUrl   | STRING  | 图片地址                    | 必填           |
// | linkUrl    | STRING  | 点击跳转链接                  | 可选           |
// | position   | STRING  | 展示位置，比如 home, category等 | 默认 `'home'`  |
// | sortOrder  | INTEGER | 排序                      | 默认 0，越小越靠前   |
// | isActive   | BOOLEAN | 是否启用                    | 默认 `true`    |
// | startTime  | DATE    | 启用开始时间                  | 可做定时上线       |
// | endTime    | DATE    | 启用结束时间                  | 可做定时下线       |
// | clickCount | INTEGER | 点击次数                    | 统计点击量        |
// | remark     | STRING  | 备注                      | 方便后台添加说明     |
